const { sequelize } = require('../config/database');
const AiPerson = require('../models/AiPerson');

async function migrateStatusField() {
    try {
        console.log('🔄 开始迁移 status 字段...');

        // 测试数据库连接
        await sequelize.authenticate();
        console.log('✅ 数据库连接成功');

        // 同步数据库结构（添加新字段）
        await sequelize.sync({ alter: true });
        console.log('✅ 数据库结构更新完成');

        // 检查并更新所有记录的 status 字段（如有需要）
        const persons = await AiPerson.findAll({ where: { status: null } });
        let updatedCount = 0;
        for (const person of persons) {
            await person.update({ status: true });
            updatedCount++;
        }
        console.log(`🎉 迁移完成! 共更新 ${updatedCount} 条记录`);
    } catch (error) {
        console.error('❌ 迁移失败:', error);
        process.exit(1);
    } finally {
        await sequelize.close();
    }
}

if (require.main === module) {
    migrateStatusField()
        .then(() => {
            console.log('脚本执行完成');
            process.exit(0);
        })
        .catch((error) => {
            console.error('脚本执行失败：', error);
            process.exit(1);
        });
}

module.exports = migrateStatusField; 